package lk.icta.common.dao;

import lk.icta.common.entity.Child;
import lk.icta.user.entity.User;

/**
 * @author Duminda Dharmakeerthi
 */
public interface ChildDAO {

    /**
     * Add a child
     *
     * @param child Child to be added
     * @param user  User requesting to add the child
     */
    public void addChild(Child child, User user);

    /**
     * Update a child
     *
     * @param child Child to be updated
     * @param user  User requesting to update the child
     */
    public void updateChild(Child child, User user);

    /**
     * Delete a child
     *
     * @param child Child to be deleted
     * @param user  User requesting to delete the child
     */
    public void deleteChild(Child child, User user);

    /**
     * Return the child corresponding to the given id
     *
     * @param id Id of the child
     * @return Child corresponding to the given id
     */
    public Child getChildById(long id);
}
